package com.av.rmi;

import java.util.HashSet;
import java.util.Set;

/**
 * Clase que contiene todas las acciones permitidas en el servidor
 * 
 * @author Victor J Morales R
 * 
 */
public class CatalogoAcciones {

	private static Set<String> valores = new HashSet<String>();

	// Usuario

	public static final String AGREGAR_USUARIO = registrar("agregarUsuario");
	public static final String ELIMINAR_USUARIO = registrar("eliminarUsuario");
	public static final String ACTUALIZAR_USUARIO = registrar("actualizarUsuario");
	public static final String OBTENER_USUARIO = registrar("obtenerUsuario");
	public static final String OBTENER_TODOS_USUARIO = registrar("obtenerTodosUsuario");
	public static final String OBTENER_ACTIVOS_USUARIO = registrar("obtenerActivosUsuario");
	public static final String OBTENER_INACTIVOS_USUARIO = registrar("obtenerInactivosUsuario");
	public static final String VALIDAR_USUARIO = registrar("validarUsuario");

	// Tarjeta

	public static final String AGREGAR_TARJETA = registrar("agregarTarjeta");
	public static final String ELIMINAR_TARJETA = registrar("eliminarTarjeta");
	public static final String ACTUALIZAR_TARJETA = registrar("actualizarTarjeta");
	public static final String OBTENER_TARJETA = registrar("obtenerTarjeta");
	public static final String OBTENER_TARJETA_POR_CODIGO_O_NUM_PLACA = registrar("obtenerTarjetaPorCodigoONumPlaca");
	public static final String OBTENER_TODOS_TARJETA = registrar("obtenerTodosTarjeta");
	public static final String OBTENER_ACTIVOS_TARJETA = registrar("obtenerActivosTarjeta");
	public static final String OBTENER_INACTIVOS_TARJETA = registrar("obtenerInactivosTarjeta");

	// Abono

	public static final String AGREGAR_ABONO = registrar("agregarAbono");
	public static final String ELIMINAR_ABONO = registrar("eliminarAbono");
	public static final String ACTUALIZAR_ABONO = registrar("actualizarAbono");
	public static final String OBTENER_ABONO = registrar("obtenerAbono");
	public static final String OBTENER_TODOS_ABONO = registrar("obtenerTodosAbono");

	// Entrada/Salida

	public static final String AGREGAR_ENTRADA_SALIDA = registrar("agregarEntradaSalida");
	public static final String ELIMINAR_ENTRADA_SALIDA = registrar("eliminarEntradaSalida");
	public static final String ACTUALIZAR_ENTRADA_SALIDA = registrar("actualizarEntradaSalida");
	public static final String OBTENER_ENTRADA_SALIDA = registrar("obtenerEntradaSalida");
	public static final String OBTENER_TODOS_ENTRADA_SALIDA = registrar("obtenerTodosEntradaSalida");

	// Elemento/Catalogo

	public static final String AGREGAR_ELEMENTO_CATALOGO = registrar("agregarElementoCatalogo");
	public static final String ELIMINAR_ELEMENTO_CATALOGO = registrar("eliminarElementoCatalogo");
	public static final String ACTUALIZAR_ELEMENTO_CATALOGO = registrar("actualizarElementoCatalogo");
	public static final String OBTENER_ELEMENTO_CATALOGO = registrar("obtenerElementoCatalogo");
	public static final String OBTENER_ACTIVOS_ELEMENTO_CATALOGO = registrar("obtenerActivosElementoCatalogo");
	public static final String OBTENER_INACTIVOS_ELEMENTO_CATALOGO = registrar("obtenerInactivosElementoCatalogo");
	public static final String OBTENER_TODOS_ELEMENTO_CATALOGO = registrar("obtenerTodosElementoCatalogo");
	public static final String OBTENER_CATALOGO_ELEMENTO_CATALOGO = registrar("obtenerPorCatalogoElementoCatalogo");

	// Adeudo

	public static final String AGREGAR_ADEUDO = registrar("agregarAdeudo");
	public static final String ELIMINAR_ADEUDO = registrar("eliminarAdeudo");
	public static final String ACTUALIZAR_ADEUDO = registrar("actualizarAdeudo");
	public static final String OBTENER_ADEUDO = registrar("obtenerAdeudo");
	public static final String OBTENER_ADEUDO_POR_TARJETA = registrar("obtenerAdeudoPorTarjeta");
	public static final String OBTENER_TODOS_ADEUDO = registrar("obtenerTodosAdeudo");

	// Aclaracion

	public static final String AGREGAR_ACLARACION = registrar("agregarAclaracion");
	public static final String ELIMINAR_ACLARACION = registrar("eliminarAclaracion");
	public static final String ACTUALIZAR_ACLARACION = registrar("actualizarAclaracion");
	public static final String OBTENER_ACLARACION = registrar("obtenerAclaracion");
	public static final String OBTENER_TODOS_ACLARACION = registrar("obtenerTodosAclaracion");
	public static final String OBTENER_ACLARACION_ESTATUS = registrar("obtenerPorEstatusAclaracion");

	// Imagen

	public static final String AGREGAR_IMAGEN = registrar("agregarImagen");
	public static final String ELIMINAR_IMAGEN = registrar("eliminarImagen");
	public static final String ACTUALIZAR_IMAGEN = registrar("actualizarImagen");
	public static final String OBTENER_IMAGEN = registrar("obtenerImagen");
	public static final String OBTENER_TODOS_IMAGEN = registrar("obtenerTodosImagen");

	// Funciones

	/**
	 * Agrega en el registro de acciones dicha accion
	 */
	private static String registrar(String accion) {
		valores.add(accion);
		return accion;
	}// registrar

	/**
	 * Determina si una accion ha sido registrada en el servidor
	 * 
	 * @param accion
	 *            Accion a buscar
	 * @return
	 */
	public static boolean contains(String accion) {
		return valores.contains(accion);
	}// contains
}// CatalogoAcciones